/*****************************************************
* Função de auto contraste do trabalho de processamento de imagens
* Funções de teste 
* 
* IFSC
* Curso de Engenharia Eletrônica
* Programacao de Computadores II
* 2015/1
* 
* Desenvolvedor: Marcio A. Augusto
******************************************************/

void autoContrastImg(struct Img *img){
	//I_new(u,v)=[I(u,v)-I_low]*255/I_high-I_low
	int high,low,i;
	getMinMaxImg(img,&low,&high);
	for(i=0;i<(img->width*img->height);i++)
		(*img).data[i] = ((*img).data[i] - low)*255/(high - low);
}

//int TESTscale255Img(void);
int TESTis255Img(void){
	// retorna 1 para sucesso
	int i;
	struct Img imagem;
	imagem.width=3;
	imagem.height=2;
	imagem.maxgray=255;auto
	for(i=0;i<(imagem.width*imagem.height);i++)
		imagem.data[i] = 255;
	//int is255Img(const struct Img *img);
	if (!is255Img(&imagem))
		return 0;
	imagem.maxgray=256;
	for(i=0;i<(imagem.width*imagem.height);i++)
		imagem.data[i] = 256;
	if (is255Img(&imagem))
		return 0;
	return 1;
}
